Operating Systems
OSes continue to evolve as environments (i.e., constraints) change
What isn’t clear?
Comments? Thoughts?
What isn’t clear?
Comments? Thoughts?
Example 1: We have limited RAM, and we want to run more programs that can be stored.
Example 2: We have two process (producer / consumer); how do they communicate?
What isn’t clear?
Comments? Thoughts?
What isn’t clear?
Comments? Thoughts?
Q: How can we ensure that a user process doesn’t harm others?
syscall() wrapper
syscall() exist?What isn’t clear?
Comments? Thoughts?
fork(), exec(), and waitpid() to manage process executionopen(), dup2(), and close() for file redirectionpipe() for creating pipes between processesprintf() contains internal buffers and state; an interruption can lead to corrupted bufferswrite() a newline or whatever to signify the signal was caught.write() a new promptdisplay_prompt()?
write() it could be fine. If it’s using printf() it isn’tThe child should immediately reset signal handling to the default
Look up signal()’s man
sigaction() is newer than signal()man 7 signal)